﻿#define _CRT_SECURE_NO_WARNINGS 1

//#include <stdio.h>
//int main()
//{
//	char ch[80] = "123abcdEFG*&";
//	int j;
//	puts(ch);
//	for (j = 0; ch[j] != '\0'; j++)
//		if (ch[j] >= 'A' && ch[j] <= 'Z')
//			ch[j] = ch[j] + 'e' - 'E';
//	puts(ch);
//	return 0;
//}









//#include<stdio.h>
//int main()
//{
//	int t = 0;
//	while (printf("*"))
//	{
//		t++;
//		if (t < 3)
//			break;
//	}
//
//	return 0;
//}










//#include <stdio.h>
//int main()
//{
//	char ch;
//	while ((ch = getchar()) != '\n')
//	{
//		if (ch % 2 != 0 && (ch >= 'a' && ch <= 'z'))
//			ch = ch - 'a' + 'A';
//		putchar(ch);
//	}
//	printf("\n");
//
//	return 0;
//}









////C语言的 break 语句只能跳出离它最近的一层循环，可是有时候我们需要跳出多层循环
//
//#define MAX1 5
//#define MAX2 4
//#include<stdio.h>
//
//
////修改外层循环条件
////int main()
////{
////	int condition = 2;
////	for (int i = 0; i < MAX1; i++)
////	{
////		for (int j = 0; j < MAX2; j++)
////		{
////			if (condition)
////			{
////				i = MAX1;
////				break;
////			}
////		}
////	}
////}
//
//
////在外层循环设置判断条件
////int main()
////{
////	int symbol = 2;
////	int condition1 = 3;
////	int condition2 = 4;
////	int condition3 = 5;
////	for (; symbol != 1 && condition2; )
////	{
////		for (; symbol != 1 && condition3; )
////		{
////			if (condition1)
////				symbol = 1;
////		}
////	}
////}
//
//
////在外层循环后面加入break
////int main()
////{
////	int symbol = 2;
////	int condition1 = 3;
////	int condition2 = 4;
////	int condition3 = 5;
////	for (; condition2; )
////	{
////		for (; condition3; )
////		{
////			if (condition1)
////				symbol = 1;
////		} if (
////			symbol == 1)
////			break;
////	}
////}












////描述
////给定一个长度为 n 的非降序数组和一个非负数整数 k ，要求统计 k 在数组中出现的次数
////
////数据范围：0 \le n \le 1000, 0 \le k \le 1000≤n≤1000, 0≤k≤100，数组中每个元素的值满足 0 \le val \le 1000≤val≤100
////要求：空间复杂度 O(1)O(1)，时间复杂度 O(logn)O(logn)
//
//int GetNumberOfK(int* data, int dataLen, int k) {
//    
//    int num = 0;
//    while (dataLen--)
//    {
//        if (k == *data++)
//            num++;
//    }
//    return num;
//}









////整数转换。编写一个函数，确定需要改变几个位才能将整数 A 转成整数 B
////
////示例1 :
////输入：A = 29 （或者0b11101）, B = 15（或者0b01111）
////输出：2
////
////示例2 :
////输入：A = 1，B = 2
////输出：2
//
//int convertInteger(int A, int B) {
//    int count = 0;
//    for (int i = 0; i < 32; i++)
//    {
//        if (((A >> i) & 1) != ((B >> i) & 1))
//        {
//            count++;
//        }
//    }
//    return count;
//}